package com.cait.dutyfree.dataaccess;

import java.util.ArrayList;

import com.cait.dutyfree.pojo.Customer;
import com.cait.dutyfree.pojo.CustomerEvent;
import com.cait.dutyfree.pojo.CustomerLoginDetail;

public interface CusServiceDao {

	public String userAuthentication(String username, String password)
			throws Exception;

	public boolean addUser(Customer user) throws Exception;

	public boolean updateUser(Customer user) throws Exception;

	public String resetFailLoginAttempts(Customer user) throws Exception;

	public ArrayList<Customer> getUsers() throws Exception;

	public ArrayList<Customer> getLockedUsers() throws Exception;

	public Customer getUser(String username) throws Exception;

	public Customer getUser(int userID) throws Exception;

	public boolean updateLastLoginDetails(Customer user) throws Exception;

	public Customer getUserByName(String name) throws Exception;

	public boolean isUserAvailable(String userName) throws Exception;

	// Login Detail

	public String addLoginDetail(CustomerLoginDetail detail) throws Exception;

	public ArrayList<CustomerLoginDetail> getDetails(Customer user)
			throws Exception;

	public ArrayList<CustomerLoginDetail> getDetails(Customer user,
			int pageSize, int pageNo) throws Exception;

	// User Events

	public String addCusevent(CustomerEvent event) throws Exception;

	public ArrayList<CustomerEvent> getEvents(Customer user) throws Exception;

	public ArrayList<CustomerEvent> getAllEvents() throws Exception;

}
